home *** CD-ROM | disk | FTP | other *** search
/ ASP Advantage 1993 / The Association of Shareware Professionals Advantage CD-ROM 1993.iso / files / progming / pwl521q / windemo3.bas < prev    next >
BASIC Source File  |  1992-11-15  |  3KB  |  85 lines

  1. '    WINDEMO3.BAS - ProWindows(tm) LITE Demo Program
  2.  
  3. REM $DYNAMIC        ' <= SET UP QUICKBASIC FOR DYNAMIC MEMORY USAGE
  4. DEFINT A-Z          ' <= DEFAULT TO INTEGERS
  5.  
  6. REM $INCLUDE: 'LITE.BI'       ' <= REQUIRED FOR WINDOW CALLS
  7.  
  8. ' === DEFINE A FEW CONSTANTS
  9.  
  10. CONST WINMEMSIZE% = 8191      ' <= VIRTUAL WINDOW MEMORY SIZE
  11. CONST SCRNMEMSIZE% = 4096     ' <= SCREEN BUFFER MEMORY SIZE
  12. CONST MAXWINDOWS% = 30        ' <= MAXIMUM NUMBER OF WINDOWS
  13.  
  14.     CLEAR , , 4096           ' <= SET ASIDE ADDITIONAL "STACK" SPACE
  15.  
  16.     LOCATE 1, 1
  17.  
  18.     PreInit                  ' <= PRE-INITIALIZE THE WINDOW MANAGER
  19.  
  20. ' === DIMENSION GLOBAL ARRAYS WITH ABOVE DEFINED CONSTANTS
  21.                                          
  22.     REDIM SHARED VirMem(WINMEMSIZE) AS INTEGER    ' <= VIRTUAL MEMORY
  23.     REDIM SHARED scrn(SCRNMEMSIZE) AS INTEGER     ' <= SCREEN MEMORY
  24.     REDIM SHARED vcb(MAXWINDOWS) AS vircb         ' <= VIRTUAL WINDOW INFO
  25.     REDIM SHARED wcb(MAXWINDOWS) AS wincb         ' <= DISPLAYED WINDOW INFO
  26.     REDIM SHARED cursor(MAXWINDOWS) AS cursorTYPE ' <= CURSOR CONTROL ARRAY
  27.     REDIM SHARED wcbndx(MAXWINDOWS) AS INTEGER    ' <= LIST OF HANDLES
  28.     
  29.     InitPro                  ' <= INITIALIZE THE WINDOW MANAGER
  30.  
  31.     ReCycleMode 1            ' <= ENABLE "VIDEO RECYCLING"
  32.     
  33.     SetEventDelay 18         ' <= SET MAXIMUM EVENT DELAY TIME
  34.  
  35.     UseDrivers 0, 0, 1       ' <= INSTALL ANY NEEDED DRIVERS
  36.  
  37. REM  setBWmode 1              ' <= SWITCH TO MONOCHROME MODE
  38.  
  39. ' === DEFINE THE "GLOBAL WINDOW OPTIONS"
  40.  
  41.     GlobalOptions = SELECTABLE
  42.     
  43.     FillScreen 1, 1, MAXROWS, MAXCOLS, 23, 250, SNOW
  44.  
  45.     Notice
  46.  
  47.     ' === OPEN A FEW WINDOWS
  48.  
  49.     OpenWindow 1, 15, 46, attr(15, 4), 1, 1, 1, GlobalOptions
  50.     OpenWindow 2, 15, 46, attr(0, 7), 1, 1, 1, GlobalOptions
  51.     OpenWindow 3, 15, 56, attr(7, 1), 1, 1, 1, GlobalOptions
  52.     OpenWindow 4, 15, 46, attr(15, 2), 1, 1, 1, GlobalOptions
  53.  
  54.     DisplayWindow 1, 2, 4, 15, 46      ' <= DISPLAY WINDOW #1
  55.     DisplayWindow 2, 4, 13, 15, 46     ' <= #2
  56.     DisplayWindow 3, 6, 23, 15, 46     ' <= #3
  57.     DisplayWindow 4, 8, 33, 15, 46     ' <= #4
  58.  
  59.     WHILE 1
  60.  
  61.         IF INKEY$ <> "" THEN          ' <= END IF KEY PRESSED
  62.  
  63.             FOR Handle = 1 TO 4
  64.                 CloseWindow Handle  ' <= CLOSE THE WINDOW
  65.             NEXT
  66.             END
  67.  
  68.         END IF
  69.  
  70.         Fore = Fore MOD 15 + 1        ' <= CALCULATE NEW COLOR
  71.  
  72.         winColor 2, Fore, 7           ' <= CHANGE PRINT COLOR
  73.         winColor 4, Fore, 0
  74.  
  75.         winPrintLn 2, " ProWindows(tm) - The #1 QuickBASIC Toolbox"    ' <= PRINT TO THE WINDOW
  76.         winPrintLn 2, "Check out our demo of ProWindows(tm) PROFESSIONAL 3.1"
  77.         winPrintLn 2, "<Run DEMO.EXE from the DOS Prompt>"
  78.  
  79.         winPrint 4, "Hello, World!  "
  80.         
  81.     WEND
  82.  
  83.  
  84.  
  85.